home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3dm / dmedia / dmFS1016Encode.z / dmFS1016Encode
Encoding:
Text File  |  2002-10-03  |  7.1 KB  |  133 lines

  1.  
  2.  
  3.  
  4. ddddmmmmFFFFSSSS1111000011116666EEEEnnnnccccooooddddeeee((((3333ddddmmmm))))                                        ddddmmmmFFFFSSSS1111000011116666EEEEnnnnccccooooddddeeee((((3333ddddmmmm))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      dmFS1016Encode - implements the US Federal Standard 1016 4800/7200/9600
  10.      bits/s CELP (Code Excited Linear Predictive) Voice Coder.
  11.  
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////ddddmmmmeeeeddddiiiiaaaa....hhhh>>>>
  15.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////ddddmmmm____ppppaaaarrrraaaammmmssss....hhhh>>>>
  16.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////ddddmmmm____aaaauuuuddddiiiioooouuuuttttiiiillll....hhhh>>>>
  17.  
  18.      DDDDMMMMssssttttaaaattttuuuussss ddddmmmmFFFFSSSS1111000011116666EEEEnnnnccccooooddddeeee((((DDDDMMMMFFFFSSSS1111000011116666eeeennnnccccooooddddeeeerrrr hhhhaaaannnnddddlllleeee,,,,
  19.                        sssshhhhoooorrrrtttt ****iiiibbbbuuuuffff,,,, uuuunnnnssssiiiiggggnnnneeeedddd cccchhhhaaaarrrr ****oooobbbbuuuuffff,,,, iiiinnnntttt nnnnssssaaaammmmpppplllleeeessss))))
  20.  
  21.  
  22. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRR
  23.      _h_a_n_d_l_e    DDDDMMMMFFFFSSSS1111000011116666eeeennnnccccooooddddeeeerrrr structure, created by
  24.                ddddmmmmFFFFSSSS1111000011116666EEEEnnnnccccooooddddeeeerrrrCCCCrrrreeeeaaaatttteeee((((3333ddddmmmm)))), specifies the signal processing
  25.                parameters.
  26.  
  27.  
  28.      _i_b_u_f      pointer to input sample data buffer. The data format is short
  29.                (16-bit).  The samples are assumed to be two's complement.  The
  30.                sampling rate must be 8 kHz.
  31.  
  32.  
  33.      _o_b_u_f      pointer to output data buffer.  The data format is unsigned
  34.                char (8-bit).  This bitstream buffer must consist of a multiple
  35.                of 18 bytes.
  36.  
  37.  
  38.      _n_s_a_m_p_l_e_s  number of samples in the input buffer to be processed.  The
  39.                value of nsamples passed to FS1016 decode/decode routines must
  40.                always be a multiple of 240, 160, or 120 for operations of
  41.                4800, 7200, or 9600 bits/s respectively.
  42.  
  43.  
  44. RRRREEEETTTTUUUURRRRNNNNEEEEDDDD VVVVAAAALLLLUUUUEEEE
  45.      Returns DDDDMMMM____FFFFAAAAIIIILLLLUUUURRRREEEE or DDDDMMMM____SSSSUUUUCCCCCCCCEEEESSSSSSSS.
  46.  
  47.  
  48.  
  49. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  50.      ddddmmmmFFFFSSSS1111000011116666EEEEnnnnccccooooddddeeee((((3333ddddmmmm)))) implements the Federal Standard 1016 decompression.
  51.      The uncompressed data sampling rate is 8000 Hz.  The compression bitrate
  52.      can be
  53.  
  54.      DDDDMMMM____FFFFSSSS1111000011116666____4444888800000000____BBBBIIIITTTTSSSS
  55.      DDDDMMMM____FFFFSSSS1111000011116666____7777222200000000____BBBBIIIITTTTSSSS
  56.      DDDDMMMM____FFFFSSSS1111000011116666____9999666600000000____BBBBIIIITTTTSSSS
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ddddmmmmFFFFSSSS1111000011116666EEEEnnnnccccooooddddeeee((((3333ddddmmmm))))                                        ddddmmmmFFFFSSSS1111000011116666EEEEnnnnccccooooddddeeee((((3333ddddmmmm))))
  71.  
  72.  
  73.  
  74.      and is set by a call to ddddmmmmFFFFSSSS1111000011116666EEEEnnnnccccooooddddeeeerrrrSSSSeeeettttPPPPaaaarrrraaaammmmssss((((3333ddddmmmm)))). Without calling
  75.      ddddmmmmFFFFSSSS1111000011116666EEEEnnnnccccooooddddeeeerrrrSSSSeeeettttPPPPaaaarrrraaaammmmssss((((3333ddddmmmm)))), encoder sets default to 4800 bits/s.
  76.  
  77.  
  78.      ddddmmmmFFFFSSSS1111000011116666EEEEnnnnccccooooddddeeee((((3333ddddmmmm)))) algorithm uses linear prediction analysis operations
  79.      that simply delays the output by half of the analysis frame size.
  80.      Therefore the delays are 120, 80, or 60 samples for operations of 4800,
  81.      7200, or 9600 bit/s respectively.  In file conversion expecting N samples
  82.      in and out, the output signal is offset by 120, 80, or 60 samples from
  83.      the first sample.  The application may want to discard the first 120, 80,
  84.      or 60 samples returned in output date buffer from ddddmmmmFFFFSSSS1111000011116666DDDDeeeeccccooooddddeeee.
  85.  
  86.  
  87.      FS1016 compression uses a linear prediction scheme.  This means that the
  88.      compressed bits, which carrying compressed information, are interrelated
  89.      or interdependent.  If a application calls aaaaffffSSSSeeeeeeeekkkkFFFFrrrraaaammmmeeee(((()))) to an offset
  90.      into the compressed bit stream file and then starts reading bits in the
  91.      middle of the bit stream and decompress them with ddddmmmmFFFFSSSS1111000011116666DDDDeeeeccccooooddddeeee((((3333ddddmmmm)))),
  92.      the interdependency of the bits at the cutting point is lost.  The
  93.      application will initially get back data with a lower amplitude than if
  94.      he had read the same data back during a complete pass over the file from
  95.      the beginning.
  96.  
  97.  
  98.      There is no way to exactly recreate the decoded data in the middle of the
  99.      bit stream file without going all the way back to the beginning.
  100.      However, with a "preroll" value to read ahead a portion of the compressed
  101.      file, application can compensate for the amplitude problem.  We recommend
  102.      2 second "preroll".
  103.  
  104.  
  105. NNNNOOOOTTTTEEEE
  106.      FS1016 algorithm was developed for sampling rate of 8 kHz.
  107.  
  108.  
  109. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  110.      dmFS1016EncoderCreate(3dm), dmFS1016EncoderDestroy(3dm),
  111.      dmFS1016Decode(3dm), dmFS1016EncoderSetParams(3dm), Federal Standard
  112.      1016.
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.